import { BASE_URL } from "./base_url";

let to

// 添加请求拦截器
const addHeader = () => {
  const header = {
    // "content-type": "application/json",
  };

  // 获取本地存储的token
  const token = wx.getStorageSync("openId");
  if (token) {
    header["X-Access-Token"] = `${token}`; // 根据后端要求修改token格式
  }

  return header;
};

// 封装GET请求
export const get = (url, data = {}, isToken = true) => {
  return new Promise((resolve, reject) => {
    wx.request({
      url: BASE_URL + url,
      method: "GET",
      // data: isToken ? { ...data, openId: wx.getStorageSync("openId") } : data,
      data,
      header: addHeader(),  // 使用拦截器添加header
      success: (res) => {
        if (res.data.code == 0 || res.data.code == 200) {
          resolve(res.data);
        } else if (res.data.code == 401) {
          // wx.showToast({
          //   title: '登录失效，请重新登录',
          //   icon: 'none',
          // });
          wx.clearStorageSync('openId');
          wx.navigateTo({
            url: '/pages/index/index',
          });
        } else {
          wx.showToast({
            title: res.data.message,
            icon: "none",
          });
          reject(res.data);
        }
      },
      fail: (err) => {
        console.log(err, 'err');
        if (err.code == 401) {
          wx.clearStorageSync('openId');
          wx.navigateTo({
            url: '/pages/index/index',
          });
        }

        wx.showToast({
          title: err.message,
          icon: "none",
        });
        reject(err);
      },
    });
  });
};

// 封装POST请求
export const post = (url, data = {}, isToken = true) => {
  return new Promise((resolve, reject) => {
    wx.request({
      url: BASE_URL + url,
      method: "POST",
      // data: isToken ? { ...data, openId: wx.getStorageSync("openId") } : data,
      data,
      header: addHeader(),  // 使用拦截器添加header
      success: (res) => {
        if (res.data.code == 0 || res.data.code == 200) {
          resolve(res.data);
        } else  if (res.data.code == 401)  {
          // wx.showToast({
          //   title: '登录失效，请重新登录',
          //   icon: 'none',
          // });
          wx.clearStorageSync('openId');
          wx.navigateTo({
            url: '/pages/index/index',
          });
        } else {
          wx.showToast({
            title: res.data.message,
            icon: "none",
          });
          reject(res.data);
        }
      },
      fail: (err) => {
        console.log(err, 'err');
        reject(err);
        wx.showToast({
          title: err.message,
          icon: "none",
        });
      },
    });
  });
};
